home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
dev
/
m2
/
ModGen.lha
/
ModGen
/
Source
/
GadToolsBox.def
next >
Wrap
Text File
|
1995-04-20
|
14KB
|
505 lines
(* (*----------------------------------------------------------------------
:Program. GadToolsBox
:Contents. Interface to Jan van den Baard's Library
:Author. Kai Bolay [kai]
:Address. Snail-Mail: E-Mail:
:Address. Hoffmannstraße 168 UUCP: kai@amokle.stgt.sub.org
:Address. D-7250 Leonberg 1 FIDO: 2:2407/106.3
:History. v1.0 [kai] 13-Feb-93 (translated from C)
:History. v1.1 [kai] 28-Feb-93 (fixed reserved-Bug GadToolsConfig)
:History. v1.1 [kai] 28-Feb-93 (windowFlags now LONGSET)
:History. v1.2 [kai] 29-Feb-93 (FreeWindows now uses VAR parameter)
:History. v1.3m [Frank Lömker] 27-Jul-93 (Umsetzung nach Modula,
:History. DrawBox korrigiert, LibVersion 39)
:History. v1.3t [Frank Lömker] 17-Apr-95 (Umsetzung nach Turbo Modula)
:Copyright. FD
:Language. Modula-2
:Translator. Turbo Modula-2 V1.40
----------------------------------------------------------------------*) *)
DEFINITION FOR LIBRARY MODULE GadToolsBox;
(* using..
forms.h (Release: 1.0, Revision: 38.10)
prefs.h (Release: 1.0, Revision: 38.3)
gtxbase.h (Release: 1.0, Revision: 38.3)
gui.h (Release: 1.0, Revision: 38.6)
hotkey.h (Release: 1.0, Revision: 38.5)
textclass.h (Release: 1.0, Revision: 38.5)
gtx_protos.h (Release: 1.0, Revision: 38.8)
gtx_lib.fd (Release: ?.?, Revision: 38.8)
*)
FROM Exec IMPORT Library,LibraryPtr,DevicePtr,List,ListPtr,Node,NodePtr,
MsgPortPtr;
FROM Graphics IMPORT TextAttr,GfxBasePtr,RastPortPtr;
FROM Dos IMPORT DosLibraryPtr;
FROM Intuition IMPORT IntuiText,ColorSpec,IntuitionBasePtr,IntuiTextPtr,
WindowPtr,RequesterPtr,GadgetPtr,IntuiMessagePtr,DrawInfoPtr;
FROM Classes IMPORT IClassPtr;
FROM GadTools IMPORT NewMenu,NewGadget,NewGadgetPtr;
FROM Utility IMPORT TagItemPtr,TAG_USER,Tag,TagItem,TagPtr;
FROM NoFragLib IMPORT MemoryChainPtr;
FROM SYSTEM IMPORT CAST,ADDRESS,BITSET,LONGSET,MAKEID;
CONST
(* GadToolsBox FORM identifiers *)
idGXMN = MAKEID ("GXMN");
idGXTX = MAKEID ("GXTX");
idGXBX = MAKEID ("GXBX");
idGXGA = MAKEID ("GXGA");
idGXWD = MAKEID ("GXWD");
idGXUI = MAKEID ("GXUI");
(* GadToolsBox chunk identifiers. *)
idMEDA = MAKEID ("MEDA");
idITXT = MAKEID ("ITXT");
idBBOX = MAKEID ("BBOX");
idGADA = MAKEID ("GADA");
idWDDA = MAKEID ("WDDA");
idGGUI = MAKEID ("GGUI");
idVERS = MAKEID ("VERS");
(* Version (ID_VERS) chunk... *)
TYPE
VERSIONPtr = POINTER TO _VERSION;
_VERSION = RECORD
version: INTEGER;
flags: BITSET;
reserved: ARRAY [0..3] OF LONGINT;
END;
(* NewMenu (ID_MEDA) chunk... *)
CONST
MaxMenuTitle = 80;
MaxMenuLabel = 34;
MaxShortcut = 2;
MenuVersion = 0;
TYPE
MENUDATAPtr = POINTER TO MENUDATA;
MENUDATA = RECORD
newMenu: NewMenu;
title: ARRAY [0..MaxMenuTitle-1] OF CHAR;
label: ARRAY [0..MaxMenuLabel-1] OF CHAR;
shortCut: ARRAY [0..MaxShortcut-1] OF CHAR;
flags: BITSET;
END;
(* IntuiText (ID_ITXT) chunk... *)
CONST
MaxTextLength = 80;
ITxtVersion = 0;
TYPE
ITEXTDATAPtr = POINTER TO ITEXTDATA;
ITEXTDATA = RECORD
iText: IntuiText;
text: ARRAY [0..MaxTextLength-1] OF CHAR;
END;
(* BevelBox (ID_BBOX) chunk... *)
CONST
BBoxVersion = 0;
TYPE
BBOXDATAPtr = POINTER TO BBOXDATA;
BBOXDATA = RECORD
left: INTEGER;
top: INTEGER;
width: INTEGER;
height: INTEGER;
flags: BITSET;
END;
CONST
(* BevelBox flag bits *)
recessed = 0;
dropBox = 1;
(* NewGadget (ID_GADA) chunk... *)
CONST
MaxGadgetText = 80;
MaxGadgetLabel = 34;
GadgetVersion = 0;
TYPE
GADGETDATAPtr = POINTER TO GADGETDATA;
GADGETDATA = RECORD
newGadget: NewGadget;
gadgetText: ARRAY [0..MaxGadgetText-1] OF CHAR;
gadgetLabel: ARRAY [0..MaxGadgetLabel-1] OF CHAR;
flags: BITSET;
kind: INTEGER;
numTags: INTEGER;
reserved: ARRAY [0..3] OF LONGINT;
END;
(* NewGadget flag bits *)
CONST
IsLocked = 5;
NeedLock = 6;
(* Window (ID_WDDA) chunk... *)
CONST
MaxWindowName = 34;
MaxWindowTitle = 80;
MaxWdScreenTitle = 80;
WindowVersion = 0;
TYPE
WINDOWDATAPtr = POINTER TO WINDOWDATA;
WINDOWDATA = RECORD
name: ARRAY [0..MaxWindowName-1] OF CHAR;
title: ARRAY [0..MaxWindowTitle-1] OF CHAR;
screenTitle: ARRAY [0..MaxWdScreenTitle-1] OF CHAR;
numTags: INTEGER;
idCountFrom: INTEGER;
idcmp: LONGSET;
windowFlags: LONGSET;
tagFlags: LONGSET;
innerWidth: INTEGER;
innerHeight: INTEGER;
showTitle: BOOLEAN;
mouseQueue: INTEGER;
rptQueue: INTEGER;
flags: BITSET;
leftBorder: INTEGER;
topBorder: INTEGER;
reserved: ARRAY [0..9] OF SHORTINT;
END;
CONST
(* Window tag flag bits *)
InnerWidth = 0;
InnerHeight = 1;
Zoom = 2;
MouseQueue = 3;
RptQueue = 4;
AutoAdjust = 5;
DefaultZoom = 6;
FallBack = 7;
(* GUI (ID_GGUI) chunk... *)
CONST
MaxScreenTitle = 80;
FontNameLength = 128;
MaxColorSpec = 33;
MaxDriPens = 10;
MaxMoreDriPens = 10;
GuiVersion = 0;
TYPE
GUIDATAPtr = POINTER TO GUIDATA;
GUIDATA = RECORD
flags0: LONGSET;
screenTitle: ARRAY [0..MaxScreenTitle-1] OF CHAR;
left: INTEGER;
top: INTEGER;
width: INTEGER;
height: INTEGER;
depth: INTEGER;
displayID: LONGINT;
overscan: INTEGER;
driPens: ARRAY [0..MaxDriPens-1] OF INTEGER;
colors: ARRAY [0..MaxColorSpec-1] OF ColorSpec;
fontName: ARRAY [0..FontNameLength-1] OF CHAR;
font: TextAttr;
moreDriPens: ARRAY [0..MaxMoreDriPens-1] OF INTEGER;
reserved: ARRAY [0..4] OF LONGINT;
(*
* The following fields are private to
* GadToolsBox and they should not be useful
* to you!
*)
flags1: LONGSET;
stdScreenWidth: INTEGER;
stdScreenHeight: INTEGER;
activeKind: INTEGER;
lastProject: INTEGER;
gridX: INTEGER;
gridY: INTEGER;
offX: INTEGER;
offY: INTEGER;
reserved1: ARRAY [0..6] OF INTEGER;
END;
CONST
(* GUI gui_Flags0 flag bits *)
AutoScroll = 0;
Workbench = 1;
Public = 2;
Custom = 3;
CONST
GTBConfigSave = "ENVARC:GadToolsBox/GadToolsBox.prefs";
GTBConfigUse = "ENV:GadToolsBox/GadToolsBox.prefs";
GTBConfigVersion = 0;
MaxUserName = 64;
MaxIconPath = 128;
idGTCO = MAKEID ("GTCO");
TYPE
GadToolsConfigPtr = POINTER TO GadToolsConfig;
GadToolsConfig = RECORD
configFlags0: LONGSET;
configFlags1: LONGSET;
crunchBuffer: INTEGER;
crunchType: INTEGER;
userName: ARRAY [0..MaxUserName-1] OF CHAR;
iconPath: ARRAY [0..MaxIconPath-1] OF CHAR;
reserved: ARRAY [0..3] OF LONGINT;
END;
(* flag definitions for gtc_ConfigFlags0 *)
CONST
Coordinates = 0;
WriteIcon = 1;
GZZAdjust = 2;
Crunch = 3;
CloseWBench = 4;
Password = 5;
Overwrite = 6;
ASLFReq = 7;
FontAdapt = 8;
CONST
GenOpenFont = 1;
SysFont = 2;
CONST
GTXName = "gadtoolsbox.library";
GTXVersion = 38;
TYPE
GtxBasePtr = POINTER TO GtxBase;
GtxBase = RECORD
(*
** These library bases may be extracted from this structure
** for your own usage as long as the GtxBase pointer remains
** valid.
**)
libNode: Library;
dosBase: DosLibraryPtr;
intuitionBase: IntuitionBasePtr;
gfxBase: GfxBasePtr;
gadToolsBase: LibraryPtr;
utilityBase: LibraryPtr;
iffParseBase: LibraryPtr;
consoleDevice: DevicePtr;
noFragBase: LibraryPtr;
(*
** The next library pointer is not guaranteed to
** be valid! Please check this pointer *before* using
** it.
**)
ppBase: LibraryPtr;
END;
TYPE
ExtNewGadgetPtr = POINTER TO ExtNewGadget;
ExtGadgetListPtr = POINTER TO ExtGadgetList;
ExtGadgetList = RECORD
head: ExtNewGadgetPtr;
tail: ExtNewGadgetPtr;
tailPred: ExtNewGadgetPtr;
END;
ExtNewGadget = RECORD
succ: ExtNewGadgetPtr;
prev: ExtNewGadgetPtr;
tags: TagItemPtr;
reserved0: ARRAY [0..3] OF SHORTINT;
newGadget: NewGadget;
gadgetLabel: ARRAY [0..MaxGadgetLabel-1] OF CHAR;
gadgetText: ARRAY [0..MaxGadgetText-1] OF CHAR;
flags: LONGSET;
kind: INTEGER;
reserved1: ARRAY [0..137] OF SHORTINT;
END;
TYPE
ExtNewMenuPtr = POINTER TO ExtNewMenu;
ExtMenuListPtr = POINTER TO ExtMenuList;
ExtMenuList = RECORD
head: ExtNewMenuPtr;
tail: ExtNewMenuPtr;
tailPred: ExtNewMenuPtr;
END;
ExtNewMenu = RECORD
succ: ExtNewMenuPtr;
prev: ExtNewMenuPtr;
reserved0: ARRAY [0..5] OF SHORTINT;
newMenu: NewMenu;
menuTitle: ARRAY [0..MaxMenuTitle-1] OF CHAR;
menuLabel: ARRAY [0..MaxMenuLabel-1] OF CHAR;
reserved1: ARRAY [0..3] OF SHORTINT;
items: ExtMenuListPtr;
reserved2: ARRAY [0..1] OF SHORTINT;
commKey: ARRAY [0..MaxShortcut-1] OF CHAR;
reserved3: ARRAY [0..1] OF SHORTINT;
END;
TYPE
BevelBoxPtr = POINTER TO BevelBox;
BevelListPtr = POINTER TO BevelList;
BevelList = RECORD
head: BevelBoxPtr;
tail: BevelBoxPtr;
tailPred: BevelBoxPtr;
END;
BevelBox = RECORD
succ: BevelBoxPtr;
prev: BevelBoxPtr;
reserved0: ARRAY [0..3] OF SHORTINT;
left: INTEGER;
top: INTEGER;
width: INTEGER;
height: INTEGER;
reserved1: ARRAY [0..31] OF SHORTINT;
flags: BITSET;
END;
TYPE
ProjectWindowPtr = POINTER TO ProjectWindow;
WindowListPtr = POINTER TO WindowList;
WindowList = RECORD
head: ProjectWindowPtr;
tail: ProjectWindowPtr;
tailPred: ProjectWindowPtr;
END;
ProjectWindow = RECORD
succ: ProjectWindowPtr;
prev: ProjectWindowPtr;
reserved0: ARRAY [0..5] OF SHORTINT;
name: ARRAY [0..MaxWindowName-1] OF CHAR;
countIDFrom: INTEGER;
tags: TagItemPtr;
leftBorder: INTEGER;
topBorder: INTEGER;
windowTitle: ARRAY [0..MaxWindowTitle-1] OF CHAR;
screenTitle: ARRAY [0..MaxWdScreenTitle-1] OF CHAR;
reserved2: ARRAY [0..191] OF SHORTINT;
idcmp: LONGSET;
windowFlags: LONGSET;
windowText: IntuiTextPtr;
gadgets: ExtGadgetList;
menus: ExtMenuList;
boxes: BevelList;
tagFlags: LONGSET;
innerWidth: INTEGER;
innerHeight: INTEGER;
showTitle: BOOLEAN;
reserved3: ARRAY [0..5] OF SHORTINT;
mouseQueue: INTEGER;
rptQueue: INTEGER;
flags: INTEGER;
END;
(* tags for the GTX_LoadGUI() routine *)
CONST
rgTagBase = TAG_USER+512;
rgGUI = rgTagBase+1;
rgConfig = rgTagBase+2;
rgCConfig = rgTagBase+3;
rgAsmConfig = rgTagBase+4;
rgLibGen = rgTagBase+5;
rgWindowList = rgTagBase+6;
rgValid = rgTagBase+7;
rgPasswordEntry = rgTagBase+8;
vlfGUI = 0;
vlfConfig = 1;
vlfCConfig = 2;
vlfAsmConfig = 3;
vlfLibGen = 4;
vlfWindowList = 5;
ErrorNoMem = 1;
ErrorOpen = 2;
ErrorRead = 3;
ErrorWrite = 4;
ErrorParse = 5;
ErrorPacker = 6;
ErrorPPLib = 7;
ErrorNotGUIFile = 8;
(* A _very_ important handle *)
TYPE
HotKeyHandle = ADDRESS;
CONST
(* Flags for the HKH_SetRepeat tag *)
srbMX = 0;
srbCycle = 1;
srbSlider = 2;
srbScroller = 3;
srbListView = 4;
srbPalette = 5;
(* tags for the hotkey system *)
hkhTagBase = TAG_USER+256;
hkhKeyMap = hkhTagBase+1;
hkhUseNewButton = hkhTagBase+2;
hkhNewText = hkhTagBase+3;
hkhSetRepeat = hkhTagBase+4;
txTagBase = TAG_USER+1;
txtxtAttr = txTagBase+1;
txStyle = txTagBase+2;
txForceTextPen = txTagBase+3;
txUnderscore = txTagBase+4;
txFlags = txTagBase+5;
txText = txTagBase+6;
txNoBox = txTagBase+7;
VAR GTXBase:GtxBasePtr;
PROCEDURE GTX_TagInArray (tag: Tag; TagList: TagPtr): BOOLEAN;
PROCEDURE GTX_SetTagData (tag: Tag; Data: LONGINT;
TagList: TagPtr): LONGINT;
PROCEDURE GTX_GetNode (List: ListPtr; NodeNum: LONGINT): NodePtr;
PROCEDURE GTX_GetNodeNumber (List: ListPtr; Node: NodePtr):LONGINT;
PROCEDURE GTX_CountNodes (List: ListPtr): LONGINT;
PROCEDURE GTX_MoveNode (List: ListPtr; Node: NodePtr;
Direction: LONGINT): LONGINT;
PROCEDURE GTX_IFFErrToStr (Error, SkipEndOf: LONGINT): ADDRESS;
PROCEDURE GTX_GetHandleA (TagList: TagPtr): HotKeyHandle;
PROCEDURE GTX_GetHandle (Tags: Tag;..): HotKeyHandle;
PROCEDURE GTX_FreeHandle (Handle: HotKeyHandle);
PROCEDURE GTX_RefreshWindow (Handle: HotKeyHandle; Window: WindowPtr;
Requester: RequesterPtr);
PROCEDURE GTX_CreateGadgetA (Handle: HotKeyHandle; kind: LONGINT;
Pred: GadgetPtr; NewGadget: NewGadgetPtr;
TagList: TagPtr): GadgetPtr;
PROCEDURE GTX_CreateGadget (Handle: HotKeyHandle; kind: LONGINT;
Pred: GadgetPtr; NewGadget: NewGadgetPtr;
Tags: Tag; ..): GadgetPtr;
PROCEDURE GTX_RawToVanilla (Handle: HotKeyHandle;
Code, Qualifier: LONGINT): LONGINT;
PROCEDURE GTX_GetIMsg (Handle: HotKeyHandle;
Port: MsgPortPtr): IntuiMessagePtr;
PROCEDURE GTX_ReplyIMsg (Handle: HotKeyHandle;
IMsg: IntuiMessagePtr);
PROCEDURE GTX_SetGadgetAttrsA (Handle: HotKeyHandle; Gadget: GadgetPtr;
TagList: TagPtr);
PROCEDURE GTX_SetGadgetAttrs (Handle: HotKeyHandle; Gadget: GadgetPtr;
Tags: Tag; ..);
PROCEDURE GTX_DetachLabels (Handle: HotKeyHandle;
Gadget: GadgetPtr);
PROCEDURE GTX_DrawBox (RPort: RastPortPtr;Left,Top,Width,Height
:LONGINT;dri:DrawInfoPtr; State: LONGINT);
PROCEDURE GTX_InitTextClass (): IClassPtr;
PROCEDURE GTX_InitGetFileClass (): IClassPtr;
PROCEDURE GTX_SetHandleAttrsA (Handle: HotKeyHandle;
TagList: TagPtr);
PROCEDURE GTX_SetHandleAttrs (Handle: HotKeyHandle; Tags: Tag; ..);
PROCEDURE GTX_BeginRefresh (Handle: HotKeyHandle);
PROCEDURE GTX_EndRefresh (Handle: HotKeyHandle; All: BOOLEAN);
PROCEDURE GTX_FreeWindows (Chain: MemoryChainPtr;
VAR Windows:WindowList);
PROCEDURE GTX_LoadGUIA (Chain: MemoryChainPtr; name: ADDRESS;
TagList: TagPtr): LONGINT;
PROCEDURE GTX_LoadGUI (Chain: MemoryChainPtr; name: ADDRESS;
Tags: Tag; ..): LONGINT;
END GadToolsBox.